package com.service;

import com.POJO.GradeRequest;
import org.springframework.stereotype.Service;

import java.util.List;

/**
 * @Package com.service
 * @Date 2024-05-24 12:01
 * 成绩修改申请相关服务接口
 */

@Service
public interface GradeRequestService {

    /**
     * 创建成绩修改申请
     * @param studentId 学生ID
     * @param subjectId 科目ID
     * @param reason 修改理由
     * @param requestedGrade 申请的成绩
     */
    public void createGradeRequest(int studentId, int subjectId, String reason, double requestedGrade,String status);    /**
     * 根据学生ID获取其所有成绩修改申请
     * @param studentId 学生ID
     * @return 成绩修改申请列表
     */


    /**
     * 根据科目ID获取该科目的教师ID
     * @param subjectId 科目ID
     * @return 教师ID
     */
    public int getTeacherIdBySubjectId(int subjectId);

    /**
     * 根据教师ID获取所有待审核的成绩修改申请
     * @param teacherId 教师ID
     * @return 待审核的成绩修改申请列表
     */
    List<GradeRequest> getPendingGradeRequestsByTeacher(int teacherId);

    /**
     * 批准成绩修改申请
     * @param requestId 申请ID
     */
    void approveRequest(int requestId);

    /**
     * 拒绝成绩修改申请
     * @param requestId 申请ID
     */
    void rejectRequest(int requestId);

    /**
     * 根据学生ID获取所有的成绩修改申请
     * @param studentId 学生ID
     * @return 成绩修改申请列表
     */
    List<GradeRequest> getGradeRequestsByStudentId(int studentId);
}
